package java02.bll.standard;

// 属于规范的范畴，图形
// 包含抽象函数的类必须被声明为抽象类，必须使用abstract定义
// 抽象类不能实例化为对象
// 目标1：制定规范(标准)
public abstract class Shape {

    public Shape(){

    }

    // 没有函数体的函数称为抽象函数，必须使用abstract定义
    // 抽象函数是子类型必须要实现的功能(契约)
    public abstract double getArea();
    // 求图形的周长
    // 抽象函数是子类型必须要实现的功能(契约)
    public abstract double getPerimeter();

    // 为了安全，使用偏移值来进行处理
    protected double offset;

    public double getOffset() {
        return offset;
    }

    public void setOffset(double offset) {
        this.offset = offset;
    }
}
